home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
626-637
/
disk_632
/
printfiles
/
source
/
prf_imsghandler.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-05-06
|
6KB
|
163 lines
/* prf_imsghandler.c */
/* V1.1 9-3-92 */
#include "prf.h"
long HandleImsg(struct prf_info *info)
{
struct Gadget *gp;
long rc = CMD_NEUTRAL;
switch(info->imsg->Class)
{
case IDCMP_VANILLAKEY :
switch(info->imsg->Code)
{
case KEY_ABOUT_L :
case KEY_ABOUT_U : rc = CMD_ABOUT;
break;
case KEY_HEADL_L :
case KEY_HEADL_U : rc = CMD_HEAD;
break;
case KEY_FOOTL_L :
case KEY_FOOTL_U : rc = CMD_FOOT;
break;
case KEY_DATE_L :
case KEY_DATE_U : (info->flags & FLAG_DATE) ?
(rc = CMD_DATE_OFF) : (rc = CMD_DATE_ON);
break;
case KEY_TIME_L :
case KEY_TIME_U : (info->flags & FLAG_TIME) ?
(rc = CMD_TIME_OFF) : (rc = CMD_TIME_ON);
break;
case KEY_NAME_L :
case KEY_NAME_U : (info->flags & FLAG_FILE) ?
(rc = CMD_NAME_OFF) : (rc = CMD_NAME_ON);
break;
case KEY_PAGE_L :
case KEY_PAGE_U : (info->flags & FLAG_PAGE) ?
(rc = CMD_PAGE_OFF) : (rc = CMD_PAGE_ON);
break;
case KEY_LINE_L :
case KEY_LINE_U : (info->flags & FLAG_LINE) ?
(rc = CMD_LINE_OFF) : (rc = CMD_LINE_ON);
break;
case KEY_CRLF_L :
case KEY_CRLF_U : (info->flags & FLAG_CRLF) ?
(rc = CMD_CRLF_OFF) : (rc = CMD_CRLF_ON);
break;
case KEY_FF_L :
case KEY_FF_U : (info->flags & FLAG_FF) ?
(rc = CMD_FF_OFF) : (rc = CMD_FF_ON);
break;
case KEY_PRINT_L :
case KEY_PRINT_U : rc = CMD_PRINT;
break;
case KEY_PITCH6 : rc = CMD_PITCH6;
break;
case KEY_PITCH8 : rc = CMD_PITCH8;
break;
case KEY_CPI10 : rc = CMD_10CPI;
break;
case KEY_CPI12 : rc = CMD_12CPI;
break;
case KEY_CPI15 : rc = CMD_15CPI;
break;
case KEY_OPENPWD_L :
case KEY_OPENPWD_U : rc = CMD_OPENPWD;
break;
case KEY_QUIT_L :
case KEY_QUIT_U : rc = CMD_QUIT;
break;
case KEY_FILEREQ_L :
case KEY_FILEREQ_U : rc = CMD_FILEREQ;
break;
case KEY_REMOVE_L :
case KEY_REMOVE_U : rc = CMD_REMOVE;
break;
default : break;
}
break;
case IDCMP_CLOSEWINDOW : if(info->imsg->IDCMPWindow == info->Pwd)
rc = CMD_CLOSEPWD;
else
rc = CMD_QUIT;
break;
case IDCMP_GADGETDOWN :
gp = (struct Gadget *)info->imsg->IAddress;
switch(gp->GadgetID)
{
case GD_Quality :
rc = (info->imsg->Code == 0) ? CMD_DRAFT : CMD_LQ;
break;
case GD_Pitch :
rc = (info->imsg->Code == 0) ? CMD_PITCH6 : CMD_PITCH8;
break;
case GD_cpi :
rc = (info->imsg->Code == 0) ? CMD_10CPI :
(info->imsg->Code == 1) ? CMD_12CPI : CMD_15CPI;
default: break;
}
break;
case IDCMP_GADGETUP :
gp = (struct Gadget *)info->imsg->IAddress;
switch(gp->GadgetID)
{
case GD_Saveprefs : rc = CMD_SAVEPREFS;
break;
case GD_Linesperpage : rc = CMD_LINES;
break;
case GD_Rmargin : rc = CMD_RMARGIN;
break;
case GD_Lmargin : rc = CMD_LMARGIN;
break;
case GD_PwdButton : rc = CMD_OPENPWD;
break;
case GD_quit : rc = CMD_QUIT;
break;
case GD_Gadget11 : rc = CMD_STR_INSERT;
break;
case GD_Filereq : rc = CMD_FILEREQ;
break;
case GD_Remove : rc = CMD_REMOVE;
break;
case GD_About : rc = CMD_ABOUT ;
break;
case GD_Headline : rc = CMD_HEADL ;
break;
case GD_Footline : rc = CMD_FOOTL ;
break;
case GD_Date : (info->flags & FLAG_DATE) ?
(rc = CMD_DATE_OFF) : (rc = CMD_DATE_ON);
break;
case GD_Time : (info->flags & FLAG_TIME) ?
(rc = CMD_TIME_OFF) : (rc = CMD_TIME_ON);
break;
case GD_Filename : (info->flags & FLAG_FILE) ?
(rc = CMD_NAME_OFF) : (rc = CMD_NAME_ON);
break;
case GD_Pagenumber : (info->flags & FLAG_PAGE) ?
(rc = CMD_PAGE_OFF) : (rc = CMD_PAGE_ON);
break;
case GD_Linenumber : (info->flags & FLAG_LINE) ?
(rc = CMD_LINE_OFF) : (rc = CMD_LINE_ON);
break;
case GD_CRLF : (info->flags & FLAG_CRLF) ?
(rc = CMD_CRLF_OFF) : (rc = CMD_CRLF_ON);
break;
case GD_FF : (info->flags & FLAG_FF) ?
(rc = CMD_FF_OFF) : (rc = CMD_FF_ON);
break;
case GD_PPrint :
case GD_Print : rc = CMD_PRINT;
break;
default : break;
}
break;
default : break;
}
return (rc);
}